In communication systems, data are often distorted by channel impairments (e.g., fading, multipath) during transmission. This may cause the so-called burst error, i.e. successively erroneous data. An interleaver/de-interleaver is generally used to overcome the effect of burst errors. Specifically, the interleaver interleaves successive data into non-successive data for transmission. If burst of errors occurs in the interleaved data, the de-interleaver in the receiver will de-interleave the successively erroneous data into non-successive data. Accordingly, the de-interleaved data would not have large amount of burst errors. This thus prevents the channel decoder in the receiver from overloading its error correction capability for correcting the large amount of successively erroneous data.
For COFDM systems such as a DAB system, time interleaving is used against the burst errors caused by time-varying channel fading, and frequency interleaving and block interleaving are used against the burst errors caused by multipath propagations. In DAB system, the transmitter performs time interleaving, block interleaving, and frequency interleaving in a sequential order. In the receiver, the complementary operations, frequency de-interleaving, block de-interleaving and time de-interleaving, must be performed in a reverse order, so that the de-interleaved data have the same order as the original ones.
FIG. 1a is a block diagram illustrating the interleaving process in a DAB transmitter. As can be seen from FIG. 1a, the interleaving process includes three procedures: time interleaving, block interleaving and frequency interleaving. First, a time interleaver 101, which is a convolutional interleaver, interleaves the input data bit stream according to a cyclic repeated delay pattern to generate a time interleaved bit stream 102. This time interleaved bit stream 102 is fed to a block interleaver 103. The block interleaver 103 maps every two data bits in the time interleaved bit stream 102 into one symbol in a manner that is illustrated by the followings. Two blocks of successive data bits are shown in the time interleaved bit stream 102: a block comprising bits b[0]. . . b[N−1] and another block comprising bits b[N] . . . b[2N−1], where N is the number of used sub-carriers. Each bit in the block b[0] . . . b[N−1] is paired with the corresponding bit in the block b[N] . . . b[2N−1] to form a mapped symbol (b[j], b[j+N]), jε[0, N−1], where b[j] and b[j+N] represent the in-phase (I) component and quadrature-phase (Q) component of the mapped symbol (b[j], b[j+N]). The mapped symbols (b[0], b[N]), . . . , (b[N−1], b[2N−1]) are then interleaved to non-successive sub-carriers via a frequency interleaver 105. Finally, the OFDM modulator 107 generates modulated samples by performing differential quarternary phase shift keying (QPSK) modulation and multicarrier modulation.
FIG. 1b is a block diagram illustrating the de-interleaving process in a DAB receiver. It shows that the de-interleaving process is performed in a reverse order with respect to that in FIG. 1a. Referring to FIG. 1b, the OFDM demodulator 109 generates demodulated samples by performing multicarrier demodulation and differential QPSK demodulation. Each demodulated sample, denoted by ({circumflex over (b)}[j],{circumflex over (b)}[j+N]), jε[0, N−1], is typically represented as a 2m-bit metric, where the most significant m bits and least significant m bits correspond to the I and Q metric of the demodulated sample, respectively. Feeding the demoduled samples into the frequency de-interleaver 111, block de-interleaver 113, and time de-interleaver 117 gives rise to the de-interleaved data in its original pre-interleaved form. This de-interleaved data (I and Q metric) are then presented to the channel decoder for channel decoding.
De-interleaving process generally needs considerable sizes of storage units. A conventional de-interleaving approach with two stage operations is known to involve a buffer for performing frequency de-interleaving and block de-interleaving in one stage and a memory for performing time de-interleaving in another stage. Note that the OFDM demodulator 109 is typically implemented in a manner of serial-in-serial-out. This implies that after frequency de-interleaving and block de-interleaving, the first output sample from the OFDM demodulator 109 may not correspond to the first sample to be fed to the time de-interleaver 117, and so as for the other samples. Accordingly, a buffer is required for the conventional two-stage approach to temporarily store the entire frequency de-interleaved and block de-interleaved data of an OFDM symbol.
Notice that data are written into the above-mentioned buffer in a non-sequential order due to the frequency de-interleaving and block de-interleaving, but they are typically read out from the buffer in a sequential order for further time de-interleaving. As such, writing data into the buffer may overwrite previously stored data that have not been read out yet. A typical approach to solve this problem is to read data from the buffer in the guard interval of an OFDM symbol while writing data into the buffer in the useful interval of the following OFDM symbol. This approach, however, requires a higher rate of reading data from the buffer as well as a higher rate of performing the following time de-interleaving operations, since the guard interval is generally much less than the useful interval.
The conventional two-stage approach, thus has two main drawbacks: (1) larger circuitry due to the use of frequency and block de-interleaving buffer and (2) higher power consumption due to higher processing rate for de-interleaving the interleaved data.